package com.rakuten.api.mule.model.rms;

import java.io.Serializable;
import java.util.List;

import org.codehaus.jackson.annotate.JsonAutoDetect;
import org.codehaus.jackson.annotate.JsonIgnoreProperties;
import org.codehaus.jackson.map.annotate.JsonSerialize;

@JsonAutoDetect
@JsonIgnoreProperties(ignoreUnknown = true)
@JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
public class Product implements Serializable {

	private static final long serialVersionUID = 1L;

	private String baseSku;

	private MultiLang title;

	private MultiLang description;

	// private List<String> taglines;
	private MultiLang tagline;

	private String brand;

	private MultiLang variantAttributeName1;

	private MultiLang variantAttributeName2;

	private List<Variant> variants;

	private String videoURL;

	private Boolean freeShipping = false;

	private List<DisplayStartDate> displayStartDates;

	private List<MarketplaceRakutenCategory> marketplaceRakutenCatagories;

	private List<ShopCategory> shopCatagories;

	public String getBaseSku() {
		return baseSku;
	}

	public void setBaseSku(String baseSku) {
		this.baseSku = baseSku;
	}

	public MultiLang getTitle() {
		return title;
	}

	public void setTitle(MultiLang titles) {
		this.title = titles;
	}

	public MultiLang getDescription() {
		return description;
	}

	public void setDescription(MultiLang descriptions) {
		this.description = descriptions;
	}

	public MultiLang getVariantAttributeName1() {
		return variantAttributeName1;
	}

	public void setVariantAttributeName1(MultiLang variantAttributeName1) {
		this.variantAttributeName1 = variantAttributeName1;
	}

	public MultiLang getVariantAttributeName2() {
		return variantAttributeName2;
	}

	public void setVariantAttributeName2(MultiLang variantAttributeName2) {
		this.variantAttributeName2 = variantAttributeName2;
	}

	public String getVideoURL() {
		return videoURL;
	}

	public void setVideoURL(String videoURL) {
		this.videoURL = videoURL;
	}

	public void setVariant(List<Variant> variants) {
		this.variants = variants;
	}

	public List<Variant> getVariants() {
		return variants;
	}

	public void setMarketplaceRakutenCatagories(
			List<MarketplaceRakutenCategory> marketplaceRakutenCatagories) {
		this.marketplaceRakutenCatagories = marketplaceRakutenCatagories;
	}

	public void setShopCatagories(List<ShopCategory> shopCatagories) {
		this.shopCatagories = shopCatagories;
	}

	public List<MarketplaceRakutenCategory> getMarketplaceRakutenCatagories() {
		return marketplaceRakutenCatagories;
	}

	public List<ShopCategory> getShopCatagories() {
		return shopCatagories;
	}

	public String getBrand() {
		return brand;
	}

	public void setBrand(String brand) {
		this.brand = brand;
	}

	public List<DisplayStartDate> getDisplayStartDates() {
		return displayStartDates;
	}

	public void setDisplayStartDates(List<DisplayStartDate> displayStartDates) {
		this.displayStartDates = displayStartDates;
	}

	public Boolean isFreeShipping() {
		return freeShipping;
	}

	public void setFreeShipping(Boolean freeShipping) {
		this.freeShipping = freeShipping;
	}

	public void setTagline(MultiLang tagline) {
		this.tagline = tagline;
	}

	public MultiLang getTagline() {
		return tagline;
	}

}
